On a fully loaded PC, it is very easy to run out of Interrupts.
As a solution, PCI-devices with
proper support of the operating system (Windows 95
OSR2.0/2.1 and Windows98) can SHARE
interrupts.
This is explained in the Microsoft Knowledge base article Q182604:
Description of PCI Bus IRQ
Steering
The information in this article applies to:
•Microsoft Windows 95
OEM Service Release versions 2, 2.1
•Microsoft Windows 98
SUMMARY
This article describes
Peripheral Component Interconnect (PCI) bus interrupt request (IRQ) steering.
MORE INFORMATION
Windows 95 OEM Service
Release 2 (OSR2) and Windows 98 provide support for PCI bus IRQ steering. By
using PCI bus IRQ steering, Windows can dynamically assign or "steer" PCI bus
IRQs to PCI devices. Note that Microsoft Windows 95 (retail release) and
Microsoft Windows 95 OEM Service Release 1 (OSR1) do not provide support for PCI
bus IRQ steering.
ISA and PCI
IRQs
Multiple Industry Standard Architecture (ISA) devices
cannot share an ISA IRQ, however, multiple PCI devices can share a PCI IRQ. On
computers that use a PCI bus, the 16 standard IRQs can be programmed to either
PCI or ISA mode. An IRQ cannot be programmed for both modes at once.
How IRQs Are Assigned to PCI
Devices
In Windows 95 (retail release) and OSR1, the Basic
Input/Output System (BIOS) assigns IRQs to PCI devices. With OSR2 and Windows
98, if PCI bus IRQ steering is disabled in Windows the BIOS assigns IRQs to PCI
devices, but if PCI bus IRQ steering is enabled, Windows assigns IRQs to PCI
devices. When IRQ steering is enabled the BIOS still assigns IRQs to PCI
devices, and even though Windows has the ability to change these settings, it
generally does not.
CardBus Cards and
OSR2
PCI R3 Personal Computer Memory Card International
Association (PCMCIA) cards (CardBus cards), look very similar to the more common
ISA R2 PCMCIA cards. CardBus cards use 32-bit addressing and require a PCI-type
shareable IRQ. R2 PCMCIA cards use 16-bit addressing with an ISA-type non-
shareable IRQ. PCI bus IRQ steering gives the operating system the flexibility
to reprogram PCI IRQs when it rebalances Plug and Play resources. Without PCI
bus IRQ steering, Windows can only rebalance Plug and Play ISA IRQs to resolve
resource conflicts.
How OSR2 and Windows 98 Use PCI Bus
IRQ Steering
PCI bus IRQ steering gives OSR2 and Windows 98
the flexibility to reprogram PCI interrupts when rebalancing Plug and Play PCI
and ISA resources around non-Plug and Play ISA devices. Windows 95 (retail
release) and OSR1 cannot rebalance PCI and ISA IRQs for Plug and Play devices
around non-Plug and Play ISA devices to solve resource conflicts.
For
example, if your computer's BIOS is unaware of non-Plug and Play ISA cards, the
operating system does not have PCI bus IRQ steering, and the BIOS has set a PCI
device to IRQ 10, you may have a resource conflict when you add a non-Plug and
Play ISA device that is configured for IRQ 10.
However, with PCI bus IRQ
steering the operating system can resolve this IRQ resource conflict. To do so,
the operating system:
•Disables the PCI
device.
•Reprograms a free IRQ to a PCI IRQ, for example IRQ 11.
•Assigns
an IRQ holder to IRQ 11.
•Moves the PCI device to IRQ 11.
•Reprograms
IRQ 10 to be an ISA IRQ.
•Removes the IRQ holder for IRQ 10.
IRQ
Holder
An IRQ Holder for PCI Steering may be displayed when
you view the System Devices branch of Device Manager. An IRQ Holder for PCI
Steering indicates that an IRQ has been programmed to PCI mode and is
unavailable for ISA devices, even if no PCI devices are currently using the IRQ.
To view IRQs that are programmed for PCI-mode, follow these steps:
1.Click Start, point to Settings, click Control
Panel, and then double-click System.
2.Click the Device Manager tab.
3.Double-click the System Devices branch.
4.Double-click the IRQ Holder
for PCI Steering you want to view, and then click the Resources tab.
How to Determine if Your Computer Is
Using IRQ Steering
To determine if your computer is using
IRQ Steering, follow these steps:
1.Click Start, point
to Settings, click Control Panel, and then double-click System.
2.Click the
Device Manager tab.
3.Double-click the System Devices branch.
4.Double-click PCI Bus, and then click the IRQ Steering tab. You should see
one of the following settings:
- IRQ
Steering Enabled
- IRQ Steering Disabled
NOTE: PCI
bus IRQ steering is disabled by default in OSR2. If you are using OSR2, and IRQ
steering is disabled, verify that the Use IRQ Steering check box is selected on
the IRQ Steering tab.
IRQ Steering may be displayed as disabled in
Device Manager for any of the following reasons:
•The IRQ routing table that must be provided by the BIOS to the
operating system may be missing or contain errors. The IRQ routing table
provides information on how the motherboard is configured for PCI IRQ's.
•The Use IRQ Steering check box is not selected.
•The "Get IRQ table
from Protected Mode PCIBIOS 2.1 call" check box is not selected.
•Your
computers BIOS may not support PCI bus IRQ steering. For more information,
contact the manufacturer of your BIOS.
Example of a system using PCI Interrupt sharing ( a Toshiba notebook):
Display in
"Control-Panel" the "System-Applet",
properties of "Computer":
I
did not experience problems myself with a Network-card sharing its Interrupt, but I have received
messages on this subject:
" I've found that about 90 percent of my
clients who have problems with network connectivity are using full multimedia
machines with most irq's being used. I found that by disabling pci steering in
these systems it cures the problem 100%. The associated article is at
:
http://support.microsoft.com/support/kb/articles/q182/6/28.asp"
How to Disable PCI Bus
IRQ Steering in Windows
Article ID: Q182628
------------------------------------------------------------------------
The information in this article applies to:
•Microsoft Windows 98
SUMMARY
This
article describes how to disable Peripheral Component Interconnect (PCI) bus
interrupt request (IRQ) steering in Windows.
MORE
INFORMATION
When PCI bus IRQ steering is enabled, Windows
dynamically assigns or "steers" PCI bus IRQs to PCI devices. If there are IRQ
conflicts between PCI devices, you may need to disable PCI bus IRQ steering to
determine where the conflicts occur. To disable PCI bus IRQ steering, follow
these steps:
1.Click Start, point to Settings, click
Control Panel, and then double-click System.
2.Click the Device Manager tab.
3.Double-click the System Devices branch.
4.Double-click PCI Bus, and
then click the IRQ Steering tab.
5.Click the Use IRQ Steering check box to
clear it, click OK, and then click OK again.
6.When you are prompted to
restart your computer, click Yes.
NOTE: You may
also have to disable PCI bus IRQ steering in your computer's basic input/output
system (BIOS). For information about how to do so, contact you BIOS
manufacturer.
The following settings determine which routing tables
Windows uses when programming IRQ steering:
•Get IRQ table using ACPI BIOS:
When this check box is selected, the ACPI BIOS IRQ
routing table is the first table Windows tries to use to program IRQ steering.
If a PCI device is not working properly, click this check box to clear it. •Get
IRQ table using MS Specification table:
When this check box is selected, the
MS Specification routing table is the second table Windows tries to use to
program IRQ steering.
•Get IRQ table from Protected
Mode PCIBIOS 2.1 call:
When this check box is
selected, the Protected Mode PCIBIOS 2.1 routing table is the third table
Windows tries to use to program IRQ steering.
•Get
IRQ table from Real Mode PCIBIOS 2.1 call:
When this
check box is selected, the Real Mode PCIBIOS 2.1 routing table is the fourth
table Windows tries to use to program IRQ steering.
NOTE: By default, the "Get IRQ table from Protected Mode PCIBIOS 2.1
call" check box is not selected. You should only click this check box to place a
check mark if a PCI device is not working properly.
IRQ Holder For PCI
Steering may appear under IRQ Routing Status even though PCI bus IRQ steering is
disabled. This can occur if the IRQ settings are being read by your computer's
BIOS. For information about modifying the BIOS, contact your BIOS manufacturer.
To
disable PCI-Steering
under Windows98:
In the
"Control-Panel","System-Applet, tab:
"Device-Manager",
select under "System
devices" the "PCI-Bus" properties:
and "un-check" the "use IRQ
Steering"
You can also try to install the PCI-network
card in a different PCI-slot,
because that usually causes the BIOS and Windows98 to assign a
different INT/IRQ, (which is hopefully causing you
less hassle).